<?php
/**
 * @Author: king
 * @Last Modified by:   king
 * Date: 18/6/5
 * Time: 10:27
 */
namespace App\Tools;


/**
 * 时间
 * Class IAuth
 */
class Time
{

    /**
     * 获取13位时间戳
     * @return int
     */
    public static function get13TimeStamp()
    {
        list($t1, $t2) = explode(' ', microtime());
        return $t2 . ceil($t1 * 1000);
    }

    /**
     * 判断夏令时时间并获取基础时间
     * @param int $time
     * @return boolean
     */
    public static function isSummerTime($time = 0)
    {
        $ret = false;
        // 夏令时时间  6个区间
        $start_time = [
            515523600,// 1986年5月4号凌晨2点
            545158800,// 1987年4月14号凌晨2点
            576608400,// 1988年4月10号凌晨2点
            608662800,// 1989年4月16号凌晨2点
            640112400,// 1990年4月15号凌晨2点
            671562000,// 1991年4月14号凌晨2点
        ];
        $end_time = [
            527018400,// 1986年9月14号凌晨2点
            558468000,// 1987年9月13号凌晨2点
            589917600,// 1988年9月11号凌晨2点
            621972000,// 1989年9月17号凌晨2点
            653421600,// 1990年9月16号凌晨2点
            684871200,// 1991年9月15号凌晨2点
        ];

        for ($i=0; $i < 6; $i++)
        {
            if ($time > $start_time[$i]  && $time < $end_time[$i])
            {
                $ret = true;
                break;
            }
        }
        return $ret;
    }
}